Map.Entry 使用解析

基本概念

Map.EntryMap声明的一个内部接口,此接口为泛型,定义为Entry<K,V>。它可用于 表示Map中的一个键值对。

Map提供的EntrySet()返回的是Set<Map.Entry<K,V>>,是一个Set集合,刺激和类型是Map.Entry。相较于Map所提供的另一个方法keySet(),它所提供的以key值为数据的Set集合。

使用以及对比

1
2
3
4
5
6
7
8
9
10
11
12
// keySet()循环遍历
for (Object key: map.keySet()) {
Object key = key;
Object value = map.get(key);
}

// entrySet()循环遍历
for (Map.Entry<Object, Object> entry: map.entrySet()) {
Object = entry.getKey();
Object = entry.getValue();
// entry.setValue()
}

以上两种方式中,相较于keySet()遍历MapentrySet()能够更加清晰的显示Map内部的数据结构,同时entrySet()提供了用于修改Map的值。


参考链接

Map.Entry使用详解